为您找到与linux 获取cpu信息相关的共200个结果:
源码如下:
#include
#include
#include
#include
//文件系统信息结构体
struct fileSystem_info{
char fileSystem_format[8];
char fileSystem_total_capacity[11];
char fileSystem_free_capacity[11];
char fileSystem_permissions[3];
};
/*获取文件系统信息*/
int get_fileSystem_info(const char *fileSystem_name, struct fileSystem_info *fi);
/*block to kbyte*/
static unsigned long kscale(unsigned long m_block, unsigned long m_kbyte);
/*convert size to GB MB KB*/
static char *convert_size(float m_size, char *dest);
int main()
{
char buf[1024];
struct fileSystem_info fileSysInfo;
get_fileSystem_info("/",&fileSysInfo);
printf("%s",fileSysInfo.fileSystem_format);
printf("%s",fileSysInfo.fileSystem_free_capacity);
printf("%s",fileSysInfo.fileSystem_total_capacity);
printf("%s",fileSysInfo.fileSystem_permissions);
return 0;
}
/*获取文件系统信息*/
int get_fileSystem_info(const char *fileSystem_name,struct fileSystem_info *fi)
{
struct statfs buf;
float fileSystem_total_size = 0;
float fileSystem_free_size = 0;
if(statfs(fileSystem_name,&buf))
{
fprintf(stderr,"statfs %s",strerror(errno));
return -1;
}
switch(buf.f_type)
{
case 0xEF51:
case 0xEF53:
sprintf(fi->fileSystem_format,"EXT");
break;
case 0x4d44:
sprintf(fi->fileSystem_format,"FAT");
break;
case 0x5346544e:
sprintf(fi->fileSystem_format,"NIFS");
break;
default:
sprintf(fi->fileSystem_format,"unknown");
break;
}
bzero(&fi->fileSystem_total_capacity,sizeof(fi->fileSystem_total_capacity));
bzero(&fi->fileSystem_free_capacity,sizeof(fi->fileSystem_free_capacity));
printf("blocks %ld",buf.f_blocks);
printf("bfree %ld",buf.f_bfree);
printf("bsize %ld",buf.f_bsize);
fileSystem_total_size =
(float)(kscale(buf.f_blocks, buf.f_bsize));
fileSystem_free_size =
(float)(kscale(buf.f_bfree, buf.f_bsize));
printf("total %f",fileSystem_total_size);
printf("free %f",fileSystem_free_size);
convert_size(fileSystem_total_size,fi->fileSystem_total_capacity);
convert_size(fileSystem_free_size,fi->fileSystem_free_capacity);
bzero(fi->fileSystem_permissions,sizeof(fi->fileSystem_permissions));
sprintf(fi->fileSystem_permissions,"rw");
return 0;
}
/*block to kbyte*/
static unsigned long kscale(unsigned long m_block, unsigned long m_kbyte)
{
return ((unsigned long long) m_block * m_kbyte + 1024 / 2 ) /1024;
}
/*convert size to GB MB KB*/
static char *convert_size(float m_size, char *dest)
{
if((((m_size / 1024.0) / 1024.0)) >= 1.0)
{
sprintf(dest,"%0.2fGB",(m_size/1024.0)/1024.0);
}
else if((m_size / 1024.0) >= 1.0)
{
sprintf(dest,"%0.2fMB",(m_size/1024));
}
else
{
sprintf(dest,"%0.2fKB",m_size);
}
return dest;
}
总结:
1、关于 struct statfs 结构体信息参考:http://blog.csdn.net/u011641885/article/details/46919027
2、对于fileSystem_total_size 使用float 类型,是为了精确度更高。buysbox 中的 fdisk 源码使用的是整型相除,约为4舍五入。
3、kscale 函数中 使用 unsigned long long 类型 是因为 m_block 与 m_byte 原本是long 型,相乘的结果超出了 long 类型的可以表示数据位。
浏览量:2
下载量:0
时间:
今天读文网小编就要跟大家讲解下Linux中如何查看CPU的信息~那么对此感兴趣的网友可以多来了解了解下。下面就是具体内容!!!
第一步,打开桌面上Putty工具
第二步,弹出Putty配置界面
第三步,输入Linux的IP地址,点击打开
第四步,进入终端字符窗口,这时候等待我们去敲入命令
第五步,敲入root登录信息后,成功登录
第六步,然后敲入查看CPU信息的关键命令,如图所示
第七步,回车后,便可以清晰地看到结果了
浏览量:3
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于linux查看多个cpu信息的内容,欢迎阅读!
cat /proc/cpuinfo中的信息
processor 逻辑处理器的id。
physical id 物理封装的处理器的id。
core id 每个核心的id。
cpu cores 位于相同物理封装的处理器中的内核数量。
siblings 位于相同物理封装的处理器中的逻辑处理器的数量。
1 查看物理CPU的个数
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc –l
2、 查看逻辑CPU的个数
#cat /proc/cpuinfo |grep "processor"|wc –l
3、 查看CPU是几核
#cat /proc/cpuinfo |grep "cores"|uniq
4、 查看CPU的主频
#cat /proc/cpuinfo |grep MHz|uniq
5、 # uname -a
6、 Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作系统内核信息)
7、 # cat /etc/issue | grep Linux
8、 Red Hat Enterprise Linux AS release 4 (Nahant Update 5(查看当前操作系统发行版信息)
9、 # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
(看到有8个逻辑CPU, 也知道了CPU型号)
9 # cat /proc/cpuinfo | grep physical | uniq -c
4 physical id : 0
4 physical id : 1
(说明实际上是两颗4核的CPU)
10、# getconf LONG_BIT
32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)
11、# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc –l
8(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)
12、如何获得CPU的详细信息:
linux命令:cat /proc/cpuinfo
13、用命令判断几个物理CPU,几个核等:
逻辑CPU个数:
# cat /proc/cpuinfo | grep "processor" | wc -l
物理CPU个数:
# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
14、每个物理CPU中Core的个数:
# cat /proc/cpuinfo | grep "cpu cores" | wc -l
15、是否为超线程?如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
# cat /proc/cpuinfo | grep "siblings"
1.查看CPU信息命令
cat /proc/cpuinfo
2.查看内存信息命令
cat /proc/meminfo
3.查看硬盘信息命令
fdisk -l
查看CPU信息(型号)
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
(看到有8个逻辑CPU, 也知道了CPU型号)
# cat /proc/cpuinfo | grep physical | uniq -c
4 physical id : 0
4 physical id : 1
(说明实际上是两颗4核的CPU)
PS:Jay added on 10th, May, 2011
# 其实是可能有超线程HT技术,不一定是有4核,也可能是2核4线程;当时还理解不清楚
# getconf LONG_BIT
32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
8
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)
再完整看cpu详细信息, 不过大部分我们都不关心而已.
# dmidecode | grep 'Processor Information'
查看内 存信息
# cat /proc/meminfo
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作系统内核信息)
# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看当前操作系统发行版信息)
查看机器型号
# dmidecode | grep "Product Name"
查看网卡信息
# dmesg | grep -i eth
浏览量:2
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于Linux系统下,CPU信息详解(cpuinfo,多核,多线程)的内容,欢迎阅读!
在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几个物理CPU/几核/几线程,这些问题怎么确定呢?
经过查看,我的开发机器是2个物理CPU,16核32线程,Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
系统的架构是X86的64位系统
CPUs 有32个逻辑的处理器
Threads per core: 每个核有两个线程
Core per Socket:每个物理卡槽有8个核心
CPU Socket :有2个物理卡槽
NUMA nodes : Non Uniform Memory Access Architecture,使众多服务器像单一系统那样运转,两个NUMA
记录一下,判断的过程和知识。
判断依据:
1.具有相同core id的cpu是同一个core的超线程。
2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。
英文版:
1.Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.
2.Any cpu with the same physical id are threads or cores in the same physical socket.
echo "logical CPU number:"
#逻辑CPU个数
cat /proc/cpuinfo | grep "processor" | wc -l
echo "physical CPU number:"
#物理CPU个数:
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
echo "core number in a physical CPU:"
#每个物理CPU中Core的个数:
cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'
#查看每个physical cpu上core id的数量,即为每个物理CPU上的core的个数
cat /proc/cpuinfo | grep "core id"
#是否为超线程?
#如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。
#每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
cat /proc/cpuinfo | grep "siblings"
/proc/cpuinfo 文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。
processor 条目包括这一逻辑处理器的唯一标识符。
physical id 条目包括每个物理封装的唯一标识符。
core id 条目保存每个内核的唯一标识符。
siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores 条目包含位于相同物理封装中的内核数量。
如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。
1.拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。
2.Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。
3.每个 core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。
4.如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
5.如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。
判断CPU是否64位,检查cpuinfo中的flags区段,看是否有lm标识。
Are the processors 64-bit?
A 64-bit processor will have lm ("long mode") in the flags section of cpuinfo. A 32-bit processor will not
浏览量:2
下载量:0
时间:
想知道怎么获取Linux硬件的信息吗?下面是读文网小编带来的关于linux怎么获取硬件信息的内容,欢迎阅读!
linux的话看具体什么版本了,指令可能有些小差异,
linux指令:
1、 主板信息
#查看BIOS信息
dmidecode | grep -A 28 “BIOS Information”
#查看主板型号信息
dmidecode |grep -A 10 “Base Board Information”
dmidecode -t baseboard
2,、cpu信息
#通过/proc文件系统
cat /proc/cpuinfo
#通过查看开机信息
dmesg | grep -i ‘cpu’
dmidecode -t processor
3、 硬盘信息
#查看分区情况
fdisk -l
#查看大小情况
df -h
#查看使用情况
du -h
hdparm -I /dev/sda
dmesg | grep sda
4、内存信息
1) cat /proc/meminfo
2) dmesg | grep mem
3) free -m
4) vmstat
5) dmidecode -t memory
5、网卡信息
1) dmesg | grep -i ‘eth’
2) cat /etc/sysconfig/hwconf | grep -i eth
3) lspci | grep -i ‘eth’
6、网络流量
1)iptraf
2) nLoad
浏览量:2
下载量:0
时间:
你们知道怎么获取Linux的硬件信息吗?下面是读文网小编带来的关于linux怎么获取硬件信息的内容,欢迎阅读!
1: uname -a
2: cat /proc/version
3: cat /etc/issue
4: lsb_release -a
5:cat /etc/redhat-release
6:rpm -q redhat-release
详解 lsb_release -a
登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:代码如下:
[hacder@NBCTC-14-15 ~]$ lsb_release -a
LSB Version: :core-3:1-amd64:core-3:1-ia32:core-3:1-noarch:graphics-3:1-amd64:graphics-3:1-ia32:graphics-3:1-noarch
Distributor ID: CentOS
Description: CentOS release 5:3 (Final)
Release: 5:3
Codename: Final
这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。
浏览量:2
下载量:0
时间:
你们知道获取硬件信息失败后怎么办吗下面是读文网小编带来linux获取硬件信息失败的内容,欢迎阅读!
如何查看查看系统内核,系统版本号和系统版本。
uname -a:查看系统内核
cat/etc/version:查看系统版本号
cat/etc/issue:查看系统版本
如何详细查看硬盘信息
fdisk -l:查看分区情况
df -h:查看系统盘分区大小情况,以及挂载点位置
dh -h:查看当前某所有文件大小,比如下图中就是现实桌面/root/Desktop下所有文件大小。
如何查看内存信息,大概有以下几种方式:
cat/proc/meminfo:查看内存信息(比如内存的used, free, swap size等)
dmidecode |grep -A16 "Memory Device$":查看每条内存的详细的信息
free -m:查看内存总体的使用情况
如何查看CPU信息
cat /proc/cpuinfo:通过proc文件系统来查看
dmidecode |grep -A42 "Processor"|more:通过demdecode来查看
如何查看网卡,显卡等板卡信息,通过lspci命令
网卡:lspci |grep -i ‘eth’
显卡:lspc |grep -i ‘vga’
浏览量:2
下载量:0
时间:
有时候想要查看下linux cpu的大小!用什么方法好呢?下面由读文网小编给你做出详细的查看linux cpu大小方法介绍!希望对你有帮助!
linux虚拟内存统计:vmstat 命令
vmstat - 报告虚拟内存的统计信息。vmstat 对系统的进程情况、内存使用情况、交换页和 I/O 块使用情况、中断以及 CPU 使用情况进行统计并报告相应的信息。
Memory swpd: 虚拟内存使用情况,单位:KBfree: 空闲的内存,单位KBbuff: 被用来做为缓存的内存数,单位:KB.si: 从磁盘交换到内存的交换页数量
单位:KB/秒so: 从内存交换到磁盘的交换页数量,单位:KB/秒。运行 vmstat 不须要特别的使用权限 这些系统信息是用来向用户提供分析系统瓶颈问题信息的。linux在计算进程情况时不将正在运行的 vmstat 自己计算进去。
vmstat对系统的虚拟内存、进程、CPU活动进行监视,同时它也对磁盘和forks和vforks操作的个数进行汇总。
不足是:vmstat不能对某个进程进行深入分析,它仅是一对系统的整体情况进行分析。
例如:[angel@home /angel]# vmstat
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 7180 1852 56092 48400 0 0 6 5 24 8 0 0 18其中:Procsr: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。
Memoryswpd: 虚拟内存使用情况,单位:KB free: 空闲的内存,单位KB
buff: 被用来做为缓存的内存数,单位:KBSwapsi: 从磁盘交换到内存的交换页数量,单位:KB/秒 so: 从内存交换到磁盘的交换页数量
单位:KB/秒IObi: 发送到块设备的块数,单位:块/秒 bo: 从块设备接收到的块数,单位:块/秒Systemin: 每秒的中断数,包括时钟中断 cs: 每秒的环境(上下文)切换次数
CPU 按 CPU 的总使用百分比来显示
us: CPU 使用时间 sy: CPU 系统使用时间 id: 闲置时间
看了“ 如何查看linux cpu大小”文章的还看了:
浏览量:2
下载量:0
时间:
linux想要查看下电脑cpu是32位还是64位,那么用什么方法去查看好呢?下面由读文网小编给你做出详细的linux查看cpu32位64位方法介绍!希望对你有帮助!
t=12015&highlight=bit虽然现在新出的Intel CPU都已经支持64bit,但是有些旧机器上可能不太清楚,因为Intel CPU的型号实在繁多。
The lm flag indicates that the CPU is a 64-bit proc. Thus, all x86-64 cpus have it, and no 32 bit CPUs have it. From /usr/include/asm/cpufeature.h: #define X86_FEATURE_LM (1*32+29) /*
Long Mode (x86-64) */上面的意思是lm标志是64位处理器所特有,所有x86-64 CPU都有这个标志,任何32位CPU都没有这个标志。
例如:[user@host ~]$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15model : 4model name : Intel(R) Xeon(TM) CPU 3.00GHz
stepping : 3
cpu MHz : 2992.997
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1apicid : 0fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : nofpu : yesfpu_exception : yes
看了“ linux如何查看cpu32位64位”文章的还看了:
浏览量:2
下载量:0
时间:
电脑新安装的linux系统!那么想要查看下linux cpu是否负载!该怎么办呢?下面由读文网小编给你做出详细的linux查看cpu负载方法介绍!希望对你有帮助!
实时CPU使用率
类似任务管理器实时系统信息可以通过top命令查看。显示的信息四个参数分别是:用户的模式(user)、低优先级的用户模式(nice)、系统内核模式(system)以及系统空闲的处理器时间(idle)
查看CPU处理器使用率
对于CPU使用率一般都是通过CPU使用情况,查看/proc/stat cpu状态文件
平均CPU使用率
对于一般某时间段CPU的使用率来说,可以通过查看/pRoc/loadavg 文件信息
第三方监控软件查看
网上有很多网管,监控软件安装配置好之后。可以通过网页管理查看CPU等硬件情况和CPU使用率,负载等参数
注意事项
如果是查看系统负载的话是需要通过,CPU使用率,内存使用率,网络负载,硬盘容量等等来综合计算出来的。如果对于linux不是特别了解,或者想一次获取比较全面,可以通过编写脚本或者相关的监控工具。
看了“linux如何查看cpu负载 ”文章的还看了:
浏览量:2
下载量:0
时间:
当我的linux系统想要查看下cpu的核数!用什么方法好呢?下面由读文网小编给你做出详细的linux查看cpu核数方法介绍!希望对你有帮助!
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
看了“ linux如何查看cpu核数”文章的还看了:
浏览量:2
下载量:0
时间:
电脑是linux系统!想要查看下cpu使用率!用什么方法好呢?下面由读文网小编给你做出详细的linux查看cpu使用率方法介绍!希望对你有帮助!
可以通过 top 命令来查看 CPU 使用状况。
运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器可以直接使用top命令后,查看%MEM的内容。
可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:$ top -u oracle
内容解释:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。
S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称。
看了“linux如何查看cpu使用率 ”文章的还看了:
浏览量:3
下载量:0
时间:
最近用的是linux系统!想要查看下cpu的信息!我们用什么方法去查看好呢?下面由读文网小编给你做出详细的查看linux cpu信息方法介绍!希望对你有帮助!
第一步,打开桌面上Putty工具
第二步,弹出Putty配置界面
第三步,输入Linux的IP地址,点击打开
第四步,进入终端字符窗口,这时候等待我们去敲入命令
第五步,敲入root登录信息后,成功登录
第六步,然后敲入查看CPU信息的关键命令,如图所示
第七步,回车后,便可以清晰地看到结果了
看了“ 如何查看linux cpu信息”文章的还看了:
浏览量:2
下载量:0
时间:
linux系统下!想要查看下cpu型号!用什么方法查看好呢?下面由读文网小编给你做出详细的linux查看cpu型号方法介绍!希望对你有帮助!
1、dmidecode命令可以实现
2、System Information 服务器品牌
3、Base Board Information 主板型号/主板信息
4、Processor Information CPU信息/CPU型号/CPU主频
5、Cache Information 硬件和CPU缓存情况
6、Physical Memory Array 主板最大支持内存
7、Memory Array Mapped Address 目前的内存
8、On Board Device Information 显卡型号
看了“ linux如何查看cpu型号”文章的还看了:
浏览量:2
下载量:0
时间:
有时候linux系统,想要查看一下cpu的使用状况!该怎么样去查看呢?下面由读文网小编给你做出详细的linux查询cpu方法介绍!希望对你有帮助!
cat /proc/cpuinfo中的信息
processor 逻辑处理器的id。
physical id 物理封装的处理器的id。
core id 每个核心的id。
cpu cores 位于相同物理封装的处理器中的内核数量。
siblings 位于相同物理封装的处理器中的逻辑处理器的数量。
看了“linux如何查询cpu ”文章的还看了:
浏览量:2
下载量:0
时间:
许多用户都在自己苹果手机中安装PP助手,PP助手是一款苹果手机常用的助手了。一些用户发现在win7系统电脑中安装pp助手时提示“无法获取应用包信息,请 检查包的有效性了”,重新下载安装还是一样都没有办法解决。那么你知道PP助手提示无法获取应用包信息怎么办吗?下面是读文网小编整理的一些关于PP助手提示无法获取应用包信息的相关资料,供你参考。
1、我们找开pp助手,然后如下图所示在己完成的按钮中找到PP助手正版安装包删除;
2、然后我们再在pp助手中“正版应用”然后在这里点击查找“PP助手正版”重新搜索安装了;
3、这样发现就可以安装了并且安装完了也自动校验通过了哦。
PP助手的相关
浏览量:6
下载量:0
时间:
现在cpu核心数、线程数越来越高,那么Linux怎么获取CPU数量呢?接下来大家跟着读文网小编一起来了解一下Linux获取CPU数量的解决方法吧。
#include
long num = sysconf(_SC_NPROCESSORS_ONLN);
便可以获得当前CPU的数量。。。
判断依据:
1.具有相同core id的cpu是同一个core的超线程。
2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。
英文版:
1.Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.
2.Any cpu with the same physical id are threads or cores in the same physical socket.
实例:
LunarPages的CPU信息:
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.00GHz
stepping : 3
cpu MHz : 3000.881
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc pni monitor ds_cpl cid xtpr
bogomips : 6006.73
processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.00GHz
stepping : 3
cpu MHz : 3000.881
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc pni monitor ds_cpl cid xtpr
bogomips : 5999.40
processor : 2
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.00GHz
stepping : 3
cpu MHz : 3000.881
cache size : 2048 KB
physical id : 3
siblings : 2
core id : 3
cpu cores : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc pni monitor ds_cpl cid xtpr
bogomips : 5999.08
processor : 3
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.00GHz
stepping : 3
cpu MHz : 3000.881
cache size : 2048 KB
physical id : 3
siblings : 2
core id : 3
cpu cores : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc pni monitor ds_cpl cid xtpr
bogomips : 5999.55
显示4个逻辑CPU,通过physical id,前面两个逻辑cpu的相同,后面两个的相同,所以有两个物理CPU。前面两个的 core id相同,后面的两个core ID相同,说明这两个CPU都是单核。也就是说两个单核cpu,启用了超线程技术。
通过intel的cpu的参数可以初步判断 使用的是两个 Xeon奔腾4CPU ,有点差。。。。
如何获得CPU的详细信息:
linux命令:
#cat /proc/cpuinfo
用命令判断几个物理CPU,几个核等:
逻辑CPU个数:
# cat /proc/cpuinfo | grep 'processor' | wc -l
物理CPU个数:
# cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
每个物理CPU中Core的个数:
# cat /proc/cpuinfo | grep 'cpu cores' | wc -l
是否为超线程?
如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。
每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
# cat /proc/cpuinfo | grep 'siblings'
其他特征:
目前intel新的多核心cpu都会在后面显示具体的型号数字,例如:
model name : Intel(R) Xeon(R) CPU X3230 @ 2.66GHz
说明是 Xeon 3230的cpu,而不显示型号的具体数字的,大部分都是奔腾的CPU
很多主机商都骗人,用奔腾的cpu,却说是多核心的CPU。
探针看到的数据:
类型:Intel(R) Xeon(TM) CPU 2.80GHz 缓存:1024 KB
类型:Intel(R) Xeon(TM) CPU 2.80GHz 缓存:1024 KB
类型:Intel(R) Xeon(TM) CPU 2.80GHz 缓存:1024 KB
类型:Intel(R) Xeon(TM) CPU 2.80GHz 缓存:1024 KB
没有具体的型号,缓存1M,一般都是奔腾系列的cpu,或者是intel假双核的cpu,具体要根据上面说的去判断。新的多核心cpu都能看到具体的型号。
另外多核心的xeon的CPU,一般主频都不高,达到2.8和3.0的只有很少的几个高端CPU型号,一般主机商不会用这么好的。
一些操作系统的最新版本已经更新了 /proc/cpuinfo 文件,以支持多路平台。如果您的系统中的 /proc/cpuinfo 文件能够正确地反映出处理器信息,那么就不需要执行上述步骤。反之,可采用本文中的信息进行解释。
/proc/cpuinfo 文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。
processor 条目包括这一逻辑处理器的唯一标识符。
physical id 条目包括每个物理封装的唯一标识符。
core id 条目保存每个内核的唯一标识符。
siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores 条目包含位于相同物理封装中的内核数量。
如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。
1.拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。
2.Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。
3.每个 core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。
4.如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
5.如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。
例如,如果系统包含两个物理封装,每个封装中又包含两个支持超线程(HT)技术的处理器内核,则 /proc/cpuinfo 文件将包含此数据。
看过“Linux怎么获取CPU数量”
浏览量:3
下载量:0
时间: